package com.zjdiepu.www.base.core;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;
/**
 * 项目名称：dp-base <br/> 
 * 类名称：PageVo <br/>  
 * 类描述： 分页结果 <br/>    
 * 创建人：xiongxiaotun <br/> 
 * 创建时间：2017年3月30日 上午10:32:45  <br/>   
 * 修改人：xiongxiaotun <br/> 
 * 修改时间：2017年3月30日 上午10:32:45   <br/>  
 * 修改备注：    <br/> 
 * @version V1.0   <br/>
 */
@ApiModel(value="PageVo", description="分页结果")
public class PageVo implements Serializable {
	private static final long serialVersionUID = 1L;

	/**
	 * 每页记录数
	 */
	@ApiModelProperty(name="pageSize",required=false,value="每页记录数",example="10")
	private int pageSize = 10;
	/**
	 * 当前页号
	 */
	@ApiModelProperty(name="page",required=false,value="当前页号",example="1")
	private int page = 1;
	/**
	 * 总页数
	 */
	@ApiModelProperty(name="total",required=false,value="总页数",example="20")
	private int total = 0;
	/**
	 * 总记录数
	 */
	@ApiModelProperty(name="records",required=false,value="总记录数",example="100")
	private long records = 0;
	
	/**
	 * 当前页记录
	 */
	@ApiModelProperty(name="rows",required=false,value="当前页记录")
	private List<?> rows;
	
	public List<?> getRows() {
		if (rows == null)
			rows = new ArrayList<>();
		return rows;
	}

	public void setRows(List<?> rows) {
		if (rows == null) {
			rows = new ArrayList<>();
		}
		this.rows = rows;
	}

	public int getPageSize() {
		return pageSize;
	}

	public void setPageSize(int pageSize) {
		this.pageSize = pageSize;
	}

	public int getPage() {
		return page;
	}

	public void setPage(int page) {
		this.page = page;
	}

	public int getTotal() {
		if (0 == records) {
			return 0;
		}
		if(pageSize==0){
			pageSize =10;
		}
		if (records % pageSize == 0) {
			total = (int)records / pageSize;
		} else {
			total = (int)records / pageSize + 1;
		}
		return total;
	}

	public void setTotal(int total) {
		this.total = total;
	}

	public long getRecords() {
		return records;
	}

	public void setRecords(long records) {
		this.records = records;
	}
}
